<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
*/
include_once '../negocios/NoticiaClass.php';

include_once '../persistencia/ConfigClass.php';
include_once '../persistencia/UsuarioDAOClass.php';
include_once '../persistencia/ProfessorDAOClass.php';
/**
 * Description of NoticiaDAOClass
 *
 * @author João Pereira
 */
class NoticiaDAOClass {
    private $conn;

    public function  __construct() {
        $this->conn = new ConfigClass();
    }

    /**
     * Classe para castrar noticias no banco
     * @param NoticiaClass $noticia
     */
    public function cadastraNoticia(NoticiaClass $noticia, $id_usuario) {
        $this->conn->conecta();

        $query = "INSERT INTO noticia (titulo, resumo, palavras_chave, noticia, banner, status, id_usuario)
                  VALUES ('".$noticia->getTitulo()."', '".$noticia->getResumo()."', '".$noticia->getPalavras_chave()."', '".$noticia->getNoticia()."', ".$noticia->getBanner().", '".$noticia->getStatus()."', $id_usuario)";
        $res = pg_query($query);

        $this->conn->desconecta();

    }

    /**
     * Busca notícias pelo título
     * @param String $desejo
     * @return array de objetos de noticias
     */
    public function buscaNoticia($desejo) {
        $this->conn->conecta();

        $query = "SELECT * FROM noticia WHERE UPPER(titulo) LIKE UPPER('%".$desejo."%')";
        //$query = "SELECT * FROM noticia WHERE titulo LIKE ~*'".$desejo."'";
        echo "consulta = ".$query."<br>";

        $res = pg_query($query);
        if(pg_num_rows($res)==0) {    //verifica se encontrou alguma noticia
            echo "Nenhuma noticia encontrada com este titulo";
            return false;
        } else {

            $array_noticias = array(); //Usado para armazenar os objetos de noticia
            
            while($row = pg_fetch_assoc($res)) { 
                
                $noticia = new NoticiaClass();
                $noticia->setTitulo($row['titulo']);
                $noticia->setResumo($row['resumo']);
                $noticia->setPalavras_chave($row['palavras_chave']);
                $noticia->setNoticia($row['noticia']);
                $noticia->setBanner($row['banner']);
                $noticia->setStatus($row['status']);
                
                array_push($array_noticias, $noticia); //adiciona o objeto no array

            }
            $this->conn->desconecta(); // desconecta com BD

            return $array_noticias;
            
        }//fim else

    }

}
?>
